home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / bbsutils / occps24.arj / OCCPS1.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-03-05  |  9KB  |  343 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER002
  20.     Integer  INTEGER003
  21.     Integer  INTEGER004
  22.     Integer  INTEGER005
  23.     Integer  INTEGER006
  24.     Integer  INTEGER007
  25.     String   STRING001
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.     String   STRING006
  31.     String   STRING007
  32.     String   STRING008
  33.     String   STRING009
  34.     String   STRING010
  35.     String   STRING011
  36.     String   STRING012
  37.     String   STRING013
  38.     String   STRING014
  39.     String   STRING015
  40.     String   STRING016
  41.     String   STRING017
  42.  
  43. ;------------------------------------------------------------------------------
  44.  
  45.     STRING001 = PPEPath() + "SECURE" + String(CurSec())
  46.     If (Exist(STRING001)) Then
  47.         DispFile PPEPath() + "SECURE", 2 + 1 + 4
  48.         Delay 91
  49.         End
  50.     Endif
  51.     :LABEL001
  52.     STRING002 = PPEPath() + "OCCPS.CFG"
  53.     STRING003 = ReadLine(STRING002, 1)
  54.     STRING004 = ReadLine(STRING002, 2)
  55.     STRING005 = ReadLine(STRING002, 3)
  56.     INTEGER002 = Asc(Mid(STRING003, 1, 1)) + Asc(Mid(STRING003, 2, 1)) + Asc(Mid(STRING003, 3, 1)) + Asc(Mid(STRING003, 4, 1)) + Asc(Mid(STRING003, 5, 1)) + Asc(Mid(STRING003, 6, 1)) + Asc(Mid(STRING003, 7, 1)) + Asc(Mid(STRING003, 8, 1)) + Asc(Mid(STRING003, 9, 1)) + Asc(Mid(STRING003, 10, 1))
  57.     INTEGER003 = Asc(Mid(STRING004, 1, 1)) + Asc(Mid(STRING004, 2, 1)) + Asc(Mid(STRING004, 3, 1)) + Asc(Mid(STRING004, 4, 1)) + Asc(Mid(STRING004, 5, 1)) + Asc(Mid(STRING004, 6, 1)) + Asc(Mid(STRING004, 7, 1)) + Asc(Mid(STRING004, 8, 1))
  58.     INTEGER004 = Asc(Mid(STRING003, 11, 1)) + Asc(Mid(STRING003, 12, 1)) + Asc(Mid(STRING003, 13, 1)) + Asc(Mid(STRING003, 14, 1)) + Asc(Mid(STRING003, 15, 1)) + Asc(Mid(STRING003, 16, 1)) + Asc(Mid(STRING003, 17, 1)) + Asc(Mid(STRING003, 18, 1)) + Asc(Mid(STRING003, 19, 1)) + Asc(Mid(STRING003, 20, 1))
  59.     STRING006 = String(INTEGER002) + String(INTEGER003) + String(INTEGER004)
  60.     Cls
  61.     PrintLn ""
  62.     PrintLn "      @X7F ┌───────────────────────────────────────────────────────────────@X70┐ @XFF"
  63.     PrintLn "      @X7F │ @X70           ONLINE CREDIT CARD PROCESSOR SYSTEM 2.4            @X70│ @XFF"
  64.     PrintLn "      @X7F │ @X70        @BOARDNAME:45C@      @POS:72@@X70│ @XFF"
  65.     If (STRING006 == STRING005) Then
  66.         PrintLn "      @X7F │                                                               @X70│ @XFF"
  67.     Else
  68.         PrintLn "      @X7F │                     @XF4UNREGISTERED VERSION                      @X70│ @XFF"
  69.     Endif
  70.     PrintLn "      @X7F │ @X71The use of an invalid credit card or unauthorized use of one  @X70│ @XFF"
  71.     PrintLn "      @X7F │ @X71for the purpose of accessing this board constitutes fraud and @X70│ @XFF"
  72.     PrintLn "      @X7F │ @X71will be reported to the proper law enforcement agencies.      @X70│ @XFF"
  73.     PrintLn "      @X7F └@X70───────────────────────────────────────────────────────────────┘ @XFF"
  74.     PrintLn ""
  75.     PrintLn "      @X4F ┌───────────────────────────────────────────────────────────────@X40┐ @XFF"
  76.     PrintLn "      @X4F │ @X40Registering with a credit card you will receive an @X4FIMMEDIATE  @X40│ @XFF"
  77.     PrintLn "      @X4F │ @X40access upgrade for use during this session.                   @X40│ @XFF"
  78.     PrintLn "      @X4F └@X40───────────────────────────────────────────────────────────────┘ @XFF"
  79.     PrintLn ""
  80.     PrintLn ""
  81.     PrintLn "           @X13 ┌─────────────────────────────────────────────────────@X10┐ @XFF"
  82.     PrintLn "           @X13 │ @X1EType @X1D1@X1E to Register using your credit card.          @X10│ @XFF"
  83.     PrintLn "           @X13 │ @X1EType @X1D2 @X1Eto Download REGISTER.ZIP and send by mail.   @X10│ @XFF"
  84.     PrintLn "           @X13 └@X10-────────────────────────────────────────────────────┘ @XFF"
  85.     PrintLn ""
  86.     STRING007 = ""
  87.     InputStr "@X0BWhich type registration would you prefer (@X0D1@X0B-@X0D2@X0B)@X07", STRING007, 10, 1, "12", 270
  88.     Select Case (STRING007)
  89.         Case "1"
  90.             Log "*** Entered OCCPS with Credit Card Option ***", 0
  91.             Gosub LABEL002
  92.         Case "2"
  93.             Log "*** Downloaded registration form via OCCPS ***", 0
  94.             KbdStuff "D;REGISTER.ZIP" + Chr(13)
  95.             End
  96.         Case STRING005
  97.             End
  98.         Case Else
  99.             Cls
  100.             PrintLn ""
  101.             PrintLn "                              @X7F ┌───────────────────@X70┐ @XFF"
  102.             PrintLn "                              @X7F │ @XF4UNREGISTERED COPY @X70│ @XFF"
  103.             PrintLn "                              @X7F └@X70───────────────────┘ @XFF"
  104.             PrintLn ""
  105.             PrintLn ""
  106.             PrintLn "                @X7F ┌────────────────────────────────────────────────@X70┐ @XFF"
  107.             PrintLn "                @X7F │ @X74PLEASE ASK YOUR SYSOP TO REGISTER THIS PROGRAM @X70│ @XFF"
  108.             PrintLn "                @X7F └@X70────────────────────────────────────────────────┘ @XFF"
  109.             Delay 91
  110.             Log "*** Exited OCCPS without Registering ***", 0
  111.             End
  112.     End Select
  113.     :LABEL002
  114.     Cls
  115.     DispFile PPEPath() + "CATLOG", 2 + 1 + 4
  116.     FAppend 1, PPEPath() + "CHARGE.LOG", 2, 3
  117.     INTEGER005 = ""
  118.     InputInt "@X0B(@X0D#@X0B-@X0D##@X0B) of Selection, (@X0DEnter@X0B) TO Quit @X07", INTEGER005, 10
  119.     PrintLn ""
  120.     If (INTEGER005 == "") Goto LABEL003
  121.     INTEGER006 = Left(ReadLine(STRING002, INTEGER005 + 3), 3)
  122.     INTEGER007 = Right(ReadLine(STRING002, INTEGER005 + 3), 3)
  123.     If (INTEGER006 == 0) Then
  124.         Gosub LABEL002
  125.     Endif
  126.     Log "*** Placed order for Selection No " + String(INTEGER005) + " via OCCPS ***", 0
  127.     FPutLn 1, "********************************************************************"
  128.     FPutLn 1, "ORDERED:  Selection No " + String(INTEGER005)
  129.     FPutLn 1, "Level " + String(INTEGER006) + " Subscription"
  130.     FPutLn 1, " "
  131.     Goto LABEL004
  132.     :LABEL003
  133.     Cls
  134.     FClose 1
  135.     Gosub LABEL001
  136.     :LABEL004
  137.     InputCC "Enter credit card number", STRING008, 15
  138.     If (STRING008 == "") Then
  139.         If (STRING006 == STRING005) Then
  140.             Cls
  141.             FClose 1
  142.             End
  143.         Else
  144.             Cls
  145.             PrintLn ""
  146.             PrintLn "                              @X7F ┌───────────────────@X70┐ @XFF"
  147.             PrintLn "                              @X7F │ @XF4UNREGISTERED COPY @X70│ @XFF"
  148.             PrintLn "                              @X7F └@X70───────────────────┘ @XFF"
  149.             PrintLn ""
  150.             PrintLn ""
  151.             PrintLn "                @X7F ┌────────────────────────────────────────────────@X70┐ @XFF"
  152.             PrintLn "                @X7F │ @X74PLEASE ASK YOUR SYSOP TO REGISTER THIS PROGRAM @X70│ @XFF"
  153.             PrintLn "                @X7F └@X70────────────────────────────────────────────────┘ @XFF"
  154.             Delay 91
  155.             Log "*** Exited OCCPS without Registering ***", 0
  156.             Cls
  157.             FClose 1
  158.             End
  159.         Endif
  160.     ElseIf (ValCC(STRING008) && (CCType(STRING008) <> "UNKNOWN")) Then
  161.         PrintLn ""
  162.         PrintLn "@X0EThis card was issued by:  @X0B", Left(CCType(STRING008), 20)
  163.         PrintLn "@X0E  The account number is:  @X0B", FmtCC(STRING008)
  164.         FPutLn 1, "                User: " + U_Name()
  165.         FPutLn 1, "                Date: " + String(Date()) + " (" + String(Time()) + ")"
  166.         FPutLn 1, "           Card Type: " + Left(CCType(STRING008), 20)
  167.         FPutLn 1, "         Card Number: " + FmtCC(STRING008)
  168.         STRING010 = ""
  169.         PrintLn ""
  170.         PrintLn "@X0EEnter the Card Expiration Date (as shown on card)"
  171.         InputStr "", STRING010, 11, 25, Mask_AlNum() + "/", 64
  172.         FPutLn 1, "     Expiration Date: " + STRING010
  173.         FPutLn 1, " "
  174.         STRING009 = ""
  175.         PrintLn ""
  176.         PrintLn "@X0EEnter the Cardholder's Name (as shown on card)"
  177.         InputStr "", STRING009, 11, 25, Mask_AlNum() + " ", 64
  178.         FPutLn 1, "   Cardholder's Name: " + STRING009
  179.         STRING011 = ""
  180.         PrintLn ""
  181.         PrintLn "@X0ECardholder's Street Address (Line 1)"
  182.         InputStr "", STRING011, 11, 25, Mask_AlNum() + " ", 64
  183.         FPutLn 1, "Cardholder's Address: " + STRING011
  184.         STRING012 = ""
  185.         PrintLn ""
  186.         PrintLn "@X0ECardholder's Suite or Apartment Number"
  187.         InputStr "", STRING012, 11, 25, Mask_AlNum() + " ", 64
  188.         If (STRING012 <> "") Then
  189.             FPutLn 1, "                    : " + STRING012
  190.         Endif
  191.         STRING013 = ""
  192.         PrintLn ""
  193.         PrintLn "@X0ECardholder's City (without state)"
  194.         InputStr "", STRING013, 11, 25, Mask_AlNum() + " ", 64
  195.         STRING014 = ""
  196.         PrintLn ""
  197.         PrintLn "@X0ECardholder's State"
  198.         InputStr "", STRING014, 11, 2, Mask_Alpha(), 64
  199.         STRING015 = ""
  200.         PrintLn ""
  201.         PrintLn "@X0ECardholder's Zip Code"
  202.         InputStr "", STRING015, 11, 10, Mask_Num() + "-", 64
  203.         FPutLn 1, "                    : " + STRING013 + ", " + STRING014 + "  " + STRING015
  204.         STRING016 = ""
  205.         PrintLn ""
  206.         PrintLn "@X0ECardholder's Home Phone Number"
  207.         InputStr "", STRING016, 11, 12, Mask_Num() + "-", 64
  208.         FPutLn 1, "   Home Phone Number: " + STRING016
  209.         STRING017 = ""
  210.         PrintLn ""
  211.         PrintLn "@X0ECardholder's Work Phone Number"
  212.         InputStr "", STRING017, 11, 12, Mask_Num() + "-", 64
  213.         FPutLn 1, "   Work Phone Number: " + STRING017
  214.         FPutLn 1, " "
  215.         FPutLn 1, "Credit Card Processing Completed Normally"
  216.         FClose 1
  217.         PrintLn ""
  218.         GetUser
  219.         If (U_Sec < INTEGER006) Then
  220.             PrintLn "Raising your security access to level " + String(INTEGER006) + "..."
  221.             U_Sec = INTEGER006
  222.             U_ExpDate = Date() + INTEGER007
  223.             PrintLn ""
  224.             PrintLn "Automatic upgrade Complete!"
  225.         ElseIf (U_Sec == INTEGER006) Then
  226.             PrintLn "Extending your level " + String(INTEGER006) + " security access..."
  227.             U_ExpDate = U_ExpDate + INTEGER007
  228.             PrintLn ""
  229.             PrintLn "Automatic upgrade Complete!"
  230.         Else
  231.             PrintLn "Level requested is lower than existing level"
  232.             PrintLn "No change in level made"
  233.         Endif
  234.         PutUser
  235.         PrintLn ""
  236.         PrintLn "Your subscription will expire on ", U_ExpDate
  237.         PrintLn ""
  238.         PrintLn "@X0FThank you @X0D@USER@ @X0Ffor your order"
  239.         Delay 91
  240.         Log "Completed Credit Card Processing!", 0
  241.         If (STRING006 == STRING005) Then
  242.             End
  243.         Else
  244.             Cls
  245.             PrintLn ""
  246.             PrintLn "                              @X7F ┌───────────────────@X70┐ @XFF"
  247.             PrintLn "                              @X7F │ @XF4UNREGISTERED COPY @X70│ @XFF"
  248.             PrintLn "                              @X7F └@X70───────────────────┘ @XFF"
  249.             PrintLn ""
  250.             PrintLn ""
  251.             PrintLn "                @X7F ┌────────────────────────────────────────────────@X70┐ @XFF"
  252.             PrintLn "                @X7F │ @X74PLEASE ASK YOUR SYSOP TO REGISTER THIS PROGRAM @X70│ @XFF"
  253.             PrintLn "                @X7F └@X70────────────────────────────────────────────────┘ @XFF"
  254.             Delay 91
  255.             End
  256.         Endif
  257.     Else
  258.         PrintLn ""
  259.         PrintLn "@X0EThis is an @X0CINVALID @X0ECredit Card number!"
  260.         PrintLn ""
  261.         Delay 91
  262.         Log "Attempted to use an INVALID Credit Card number", 0
  263.     Endif
  264.     STRING008 = ""
  265.     Gosub LABEL002
  266.  
  267. ;------------------------------------------------------------------------------
  268. ;
  269. ; Usage report (before postprocessing)
  270. ;
  271. ; ■ Statements used :
  272. ;
  273. ;    8       End
  274. ;    8       Cls
  275. ;    25      Goto 
  276. ;    26      Let 
  277. ;    87      PrintLn 
  278. ;    14      If 
  279. ;    2       DispFile 
  280. ;    1       FAppend 
  281. ;    4       FClose 
  282. ;    18      FPutLn 
  283. ;    1       GetUser
  284. ;    1       PutUser
  285. ;    7       Log 
  286. ;    10      InputStr 
  287. ;    1       InputInt 
  288. ;    1       InputCC 
  289. ;    4       Gosub 
  290. ;    6       Delay 
  291. ;    1       KbdStuff 
  292. ;
  293. ;
  294. ; ■ Functions used :
  295. ;
  296. ;    77      +
  297. ;    10      ==
  298. ;    2       <>
  299. ;    1       <
  300. ;    14      !
  301. ;    1       &&
  302. ;    28      Mid()
  303. ;    3       Left()
  304. ;    1       Right()
  305. ;    1       Chr()
  306. ;    28      Asc()
  307. ;    2       Date()
  308. ;    1       Time()
  309. ;    1       U_Name()
  310. ;    11      String()
  311. ;    1       Mask_Alpha()
  312. ;    3       Mask_Num()
  313. ;    5       Mask_AlNum()
  314. ;    5       PPEPath()
  315. ;    5       ReadLine()
  316. ;    1       CurSec()
  317. ;    1       Exist()
  318. ;    1       ValCC()
  319. ;    2       FmtCC()
  320. ;    3       CCType()
  321. ;
  322. ;------------------------------------------------------------------------------
  323. ;
  324. ; Analysis flags : W
  325. ;
  326. ; W - Write user ■ 5
  327. ;     Program writes a user record. Although this may be normal for a
  328. ;     User Editor, it may also be a way to modify an account level.
  329. ;     ■ Search for : PUTUSER
  330. ;
  331. ;------------------------------------------------------------------------------
  332. ;
  333. ; Postprocessing report
  334. ;
  335. ;    0       For/Next
  336. ;    0       While/EndWhile
  337. ;    10      If/Then or If/Then/Else
  338. ;    1       Select Case
  339. ;
  340. ;------------------------------------------------------------------------------
  341. ;                 AEGiS Corp - Break the routines, code against the machines!
  342. ;------------------------------------------------------------------------------
  343.